<?php
class TcContratosController extends AppController {
	var $name = 'TcContratos';
	var $helpers = array('Ajax','Javascript','Html','Form', 'Boton');
	var $uses = array ('TcContrato','MgCliente','MgColonia','TcEstadoContrato','TcTipoContrato','TcAnchoDeBanda');
	var $components = array('RequestHandler','Fecha', 'Total');
	var $paginate = array(
		'TcContrato'=>array(
        'limit' => 25,
        'order' => array(
            'TcContrato.id' => 'desc'
            )
            ));
            
	//................................................................................................................
	
    function index()
    {
    	$this->pageTitle = 'Contrato';
    }

	//................................................................................................................            

   function mostrar($idcliente=null,$idcontrato=null,$estado=null)
   {
   		if(!empty($idcliente) || $idcliente<>0){           	
            		$this->set('tcContratos', $this->paginate('TcContrato',array('TcContrato.mg_cliente_id'=>$idcliente)));
        }
        else {
        	if(!empty($idcontrato) || $idcontrato<>0){           	
            	$this->set('tcContratos', $this->paginate('TcContrato',array('TcContrato.contrato'=>$idcontrato)));
            }	
            else {
            	if (!empty($estado))
            	{
            		$this->set('tcContratos', $this->paginate('TcContrato',array('TcContrato.tc_estado_contrato_id'=>$estado)));
            		$this->set('estado',$estado);
            	}
            	else{
            		$this->set('tcContratos', $this->paginate('TcContrato'));
            		$this->set('estado',$estado);
            	}
            }
   		}
   }
            
	//................................................................................................................
	                        
    function edit($id = null) {
		$listadoTipoEstados=$this->TcEstadoContrato->find('all',
            											  array('field'=>array('TcEstadoContrato.id',
            																   'TcEstadoContrato.descripcion'),
            																   'order'=>'TcEstadoContrato.descripcion ASC'));            														
		$this->set('tipoestado', Set::combine($listadoTipoEstados,"{n}.TcEstadoContrato.id","{n}.TcEstadoContrato.descripcion"));
		$coloniaid=$this->TcContrato->find('first',
            								array('fields'=>array('TcContrato.mg_colonia_id',
            													  'TcContrato.tc_tipo_contrato_id'), 
            									  'conditions'=>array('Tccontrato.id'=>$id)));										
        $coloniadesc=$this->MgColonia->find('first',
            								array('fields'=>array('MgColonia.descripcion'),
            									  'conditions'=>array('MgColonia.id'=>$coloniaid['TcContrato']['mg_colonia_id'])));            										
        $listadoanchobanda=$this->TcAnchoDeBanda->find('all',
        											    array('field'=>array('TcAnchoDeBanda.id','TcAnchoDeBanda.descripcion'),
        											    	  'order'=>'TcAnchoDeBanda.descripcion ASC'));
        $this->set('anchobanda', Set::combine($listadoanchobanda,"{n}.TcAnchoDeBanda.id","{n}.TcAnchoDeBanda.descripcion"));
        $this->set('coloniadesc',$coloniadesc);
        $this->set('tipoc',$coloniaid['TcContrato']['tc_tipo_contrato_id']);
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Contrato Invalido', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			$this->data['TcContrato']['mg_colonia_id']=strtoupper($this->data['TcContrato']['mg_colonia_id']);
			$this->data['TcContrato']['bloque']=strtoupper($this->data['TcContrato']['bloque']);
			$this->data['TcContrato']['descripcion']=strtoupper($this->data['TcContrato']['descripcion']);
			$this->data['TcContrato']['casa']=strtoupper($this->data['TcContrato']['casa']);
			$idcolonia=$this->MgColonia->find('first',
											   array('order'=>'MgColonia.id ASC',
											   	     'conditions'=>array('MgColonia.descripcion'=>$this->data['TcContrato']['colonia'])));
            $this->data['TcContrato']['mg_colonia_id']= $idcolonia['MgColonia']['id'];
            $this->data['TcContrato']['modificado_por'] = $session->read('Auth.MgUsuario.usuario');
            if ($this->TcContrato->save($this->data)) {
				$this->Session->setFlash(__('Contrato ha sido guardado', true));
            	$this->redirect(array('action'=>'mostrar'));
            	}
            else {
				$this->Session->setFlash(__('Contrato no pudo guardarse. Por favor, intente de nuevo.', true));
            }
		}
        if (empty($this->data)) {
        	$this->data = $this->TcContrato->read(null, $id);
		}           	
	}
	
//................................................................................................................
	                        
    function editExt($id = null) {
    	Configure::write('debug', '0');   
		$this->layout = 'ajax';
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Contrato Invalido', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			$this->data['TcContrato']['bloque']=strtoupper($this->data['TcContrato']['bloque']);
			$this->data['TcContrato']['descripcion']=strtoupper($this->data['TcContrato']['descripcion']);
			$this->data['TcContrato']['casa']=strtoupper($this->data['TcContrato']['casa']);
			$this->data['TcContrato']['modificado_por'] =$this->Session->read('Auth.MgUsuario.usuario');
		 if($this->TcContrato->save($this->data)){
            		$response = array(
   		     		'success' => true,
		     		'errors' => $this->validateErrors($this->TcContrato)
					);
            }
            else {
             	$Erros = array();
			 	foreach ($this->validateErrors($this->TcContrato) as $key => $value)
				{
    				$Erros['data[TcContrato]['.$key.']'] = $value;
				}  
				
			 	$response = array(
   		     	'success' => false,
		     	'errors' =>$Erros// $this->validateErrors($this->TcContrato)
			  	);					            
            }            
		}
        if (empty($this->data)) {
        		$response = array(
   		     	'success' => false,
		     	'errors' =>$Erros// $this->validateErrors($this->TcContrato)
			  	);					            
            }
            $this->set('response',$response);
	}           	

	
	//................................................................................................................

	function view($id = null)
	{
		$this->helpers[]="Fecha";
		if (!$id) {
			$this->Session->setFlash(__('Contrato No Existe', true));
           	$this->redirect(array('action'=>'index'));
		}            	
        $this->set('tcContrato', $this->TcContrato->read(null, $id));
        $datos=$this->TcContrato->find('first',
           								array('conditions'=>array('TcContrato.id' =>$id ),
           								'order'=>'TcContrato.descripcion ASC'));
        $estado=$this->TcEstadoContrato->find('first',
           									   array('field'=>array('TcEstadoContrato.descripcion'),
													 'conditions'=>array('TcEstadoContrato.id' =>$datos['TcContrato']['tc_estado_contrato_id']),
									            	 'order'=>'TcEstadoContrato.descripcion ASC'));
		$tipo=$this->TcTipoContrato->find('first',
											   array('field'=>array('TcTipoContrato.descripcion'),
													 'conditions'=>array('TcTipoContrato.id' =>$datos['TcContrato']['tc_tipo_contrato_id']),
            										 'order'=>'TcTipoContrato.descripcion ASC'));
		$colonia=$this->MgColonia->find('first',
											array('field'=>array('MgColonia.descripcion'),
											'conditions'=>array('MgColonia.id' =>$datos['TcContrato']['mg_colonia_id']),
            								'order'=>'MgColonia.descripcion ASC'));
		
		$resta = $this->Fecha->restar($datos['TcContrato']['fecha_ultimo_pago'] , $this->Fecha->crear_fecha(09,null,null,null));
		$meses_deuda = $this->Total->mora($datos, $resta, null);
		if($datos['TcContrato']['tc_estado_contrato_id'] == 3) {
			$res = 'N/D';
		 } else {
		 	$res = $meses_deuda['meses_mora']; 
		 }	    
		
        $this->set('meses',$res);
        $this->set('estado',$estado);
        $this->set('tipo',$tipo);
        $this->set('colonia',$colonia);        
	}
	//................................................................................................................	
	
	function insertar( $cliente=null,$descripcion=null)
	{
		$this->pageTitle='Crear Contrato';
        $this->set('cliente_id',$cliente);
        $this->set('descripcion',$descripcion);
        $listadoTipoEstados=$this->TcEstadoContrato->find('all',
        												  array('field'=>array('TcEstadoContrato.id','TcEstadoContrato.descripcion'),
        												  		'order'=>'TcEstadoContrato.descripcion ASC'));
        $this->set('tipoestado', Set::combine($listadoTipoEstados,"{n}.TcEstadoContrato.id","{n}.TcEstadoContrato.descripcion"));
        if(!empty($this->data)){
        	$this->TcContrato->create();
			/*
			 * Elimina el 0 si el telefono es fijo y lo deja de 7 digitos
			 */
        	echo substr($this->data['TcContrato']['telefono'],1,1)==0;
        	if (substr($this->data['TcContrato']['telefono'],1,1)==0)        	
        	$this->data['TcContrato']['telefono'] = substr($this->data['TcContrato']['mg_colonia_id'],2);
        	        	
            $this->data['TcContrato']['mg_colonia_id']=strtoupper($this->data['TcContrato']['mg_colonia_id']);
            $this->data['TcContrato']['bloque']=strtoupper($this->data['TcContrato']['bloque']);
            $this->data['TcContrato']['descripcion']=strtoupper($this->data['TcContrato']['descripcion']);
            $this->data['TcContrato']['casa']=strtoupper($this->data['TcContrato']['casa']);
            $idcliente=$this->MgCliente->find('first',
            								   array('order'=>'MgCliente.id ASC',
            								   		 'conditions'=>array('MgCliente.id'=>$this->data['TcContrato']['mg_cliente_id'])));
            $this->data['TcContrato']['mg_cliente_id']= $idcliente['MgCliente']['id'];
            $idcolonia=$this->MgColonia->find('first',
            								   array('order'=>'MgColonia.id ASC',
            								   		 'conditions'=>array('MgColonia.descripcion'=>$this->data['TcContrato']['colonia'])));
            $this->data['TcContrato']['mg_colonia_id']= $idcolonia['MgColonia']['id'];
            $cliente_id=$this->data['TcContrato']['mg_cliente_id'];
            //---------------CALCULA FECHA----------------------------------//
            $this->data['TcContrato']['fecha_ultimo_pago']= $this->Fecha->agregar_mes(date('d-m-Y',strtotime($this->data['TcContrato']['fecha_instalacion'])),0,'dmy');
            $this->data['TcContrato']['fecha_proximo_pago']= $this->Fecha->agregar_mes(date('d-m-Y',            		strtotime($this->data['TcContrato']['fecha_instalacion'])),1,'dmy');
            //-------------------------------------------------------------//
            if($this->TcContrato->save($this->data)){
            	$contrato_id = $this->TcContrato->find('first',
            											array('fields'=>array('TcContrato.contrato','TcContrato.descripcion','TcContrato.id'), 
            												  'conditions'=>array('TcContrato.mg_cliente_id'=>$cliente_id),
            												   'order'=> 'TcContrato.id DESC'));
            	$this->Session->setFlash('El contrato ' . $contrato_id['TcContrato']['contrato'] . ' ha sido guardado');
            	$this->redirect(array('controller'=>'TcMovimientosDiarios', 'action'=>'ingreso', $contrato_id['TcContrato']['descripcion'].'>'.$contrato_id['TcContrato']['id']));
            }
            else {
            	$this->Session->setFlash('Error NO se creo el contrato');
            }
		}
	}
	//................................................................................................................
	
	function insertarExt()
	{
		Configure::write('debug', '0');   
		$this->layout = 'ajax';
		if(!empty($this->data)){
        	$this->TcContrato->create();          
            $this->data['TcContrato']['bloque']=strtoupper($this->data['TcContrato']['bloque']);
            $this->data['TcContrato']['descripcion']=strtoupper($this->data['TcContrato']['descripcion']);
            $this->data['TcContrato']['casa']=strtoupper($this->data['TcContrato']['casa']);
            $this->data['TcContrato']['adicionado_por'] =$this->Session->read('Auth.MgUsuario.usuario');
            $idcliente=$this->MgCliente->find('first',
            								   array('order'=>'MgCliente.id ASC',
            								   		 'conditions'=>array('MgCliente.id'=>$this->data['TcContrato']['mg_cliente_id'])));
            $this->data['TcContrato']['mg_cliente_id']= $idcliente['MgCliente']['id'];
                     
            $cliente_id=$this->data['TcContrato']['mg_cliente_id'];
            //---------------CALCULA FECHA----------------------------------//
            $this->data['TcContrato']['fecha_ultimo_pago']= $this->Fecha->agregar_mes(date('d-m-Y',strtotime($this->data['TcContrato']['fecha_instalacion'])),0,'dmy');
            $this->data['TcContrato']['fecha_proximo_pago']= $this->Fecha->agregar_mes(date('d-m-Y',            		strtotime($this->data['TcContrato']['fecha_instalacion'])),1,'dmy');
            //-------------------------------------------------------------//
            if($this->TcContrato->save($this->data)){
            	$contrato_id = $this->TcContrato->find('first',
            											array('fields'=>array('TcContrato.contrato','TcContrato.descripcion','TcContrato.id','TcContrato.fecha_instalacion'), 
            												  'conditions'=>array('TcContrato.mg_cliente_id'=>$cliente_id),
            												   'order'=> 'TcContrato.id DESC'));
            		$response = array(
   		     		'success' => true,
		     		'errors' => $this->validateErrors($this->TcContrato),
            		'contrato'=>$contrato_id['TcContrato']['descripcion'].'>'.$contrato_id['TcContrato']['id'],
            		'fecha_instalacion'=>$contrato_id['TcContrato']['fecha_instalacion']
					);
            }
            else {
             	$Erros = array();
			 	foreach ($this->validateErrors($this->TcContrato) as $key => $value)
				{
    				$Erros['data[TcContrato]['.$key.']'] = $value;
				}  
				
			 	$response = array(
   		     	'success' => false,
		     	'errors' =>$Erros,// $this->validateErrors($this->TcContrato)
			 	'contrato'=>''
			  	);					            
            }         
		}
		$this->set('response',$response);
	}
	
	//................................................................................................................	
	
	function internet( $cliente=null,$descripcion=null)
    {
    	$this->pageTitle='Crear Contrato Internet';
        $this->set('cliente_id',$cliente);
        $this->set('descripcion',$descripcion);
        $listadoTipoEstados=$this->TcEstadoContrato->find('all',
        												  array('field'=>array('TcEstadoContrato.id','TcEstadoContrato.descripcion'),
        												  		'order'=>'TcEstadoContrato.descripcion ASC'));
        $listadoanchobanda=$this->TcAnchoDeBanda->find('all',
        												array('field'=>array('TcAnchoDeBanda.id','TcAnchoDeBanda.descripcion'),
        													  'order'=>'TcAnchoDeBanda.descripcion ASC'));
        $this->set('tipoestado', Set::combine($listadoTipoEstados,"{n}.TcEstadoContrato.id","{n}.TcEstadoContrato.descripcion"));
        $this->set('anchobanda', Set::combine($listadoanchobanda,"{n}.TcAnchoDeBanda.id","{n}.TcAnchoDeBanda.descripcion"));
        if(!empty($this->data)){
        	$this->TcContrato->create();
            $this->data['TcContrato']['mg_colonia_id']=strtoupper($this->data['TcContrato']['mg_colonia_id']);
            $this->data['TcContrato']['bloque']=strtoupper($this->data['TcContrato']['bloque']);
            $this->data['TcContrato']['descripcion']=strtoupper($this->data['TcContrato']['descripcion']);
            $this->data['TcContrato']['casa']=strtoupper($this->data['TcContrato']['casa']);
            $idcliente=$this->MgCliente->find('first',array('order'=>'MgCliente.id ASC','conditions'=>array('MgCliente.id'=>$this->data['TcContrato']['mg_cliente_id'])));
            $this->data['TcContrato']['mg_cliente_id']= $idcliente['MgCliente']['id'];
            $idcolonia=$this->MgColonia->find('first',array('order'=>'MgColonia.id ASC','conditions'=>array('MgColonia.descripcion'=>$this->data['TcContrato']['colonia'])));
            $this->data['TcContrato']['mg_colonia_id']= $idcolonia['MgColonia']['id'];
            $cliente_id=$this->data['TcContrato']['mg_cliente_id'];
            //---------------CALCULA FECHA----------------------------------//
            $this->data['TcContrato']['fecha_ultimo_pago']= $this->Fecha->agregar($this->data['TcContrato']['fecha_instalacion'],array('m'=>1,'d'=>-1),'dmy');
            $this->data['TcContrato']['fecha_proximo_pago']= $this->Fecha->agregar($this->data['TcContrato']['fecha_instalacion'],array('m'=>2,'d'=>-1),'dmy');;
            //-------------------------------------------------------------//
			if($this->TcContrato->save($this->data)){
            	$contrato_id = $this->TcContrato->find('first',array('fields'=>array('TcContrato.contrato'), 'conditions'=>array('TcContrato.mg_cliente_id'=>$cliente_id)));
            	$this->Session->setFlash('El contrato ' . $contrato_id['TcCotrato']['contrato'] . ' ha sido guardado');
            	$this->redirect(array('controller'=>'TcMovimientosDiarios', 'action'=>'ingreso', $contrato_id['TcContrato']['descripcion'] ));
            }
            else {
            	$this->Session->setFlash('Error NO se creo el contrato');
            }
		}
	}
	
	//................................................................................................................	
	
	function ajax_validate()
	{
    	Configure::write('debug', 0);
        if($this->RequestHandler->isAjax()) {
           	$this->data['TcContrato'][$this->params['form']['field']] = $this->params['form']['value'];
           	$this->TcContrato->set($this->data);
           	if($this->TcContrato->validates()) {
           		$this->autoRender = false;
           	}
           	else {
           		$errorArray = $this->validateErrors($this->TcContrato);
           		$this->set('error', $errorArray[$this->params['form']['field']]);
           	}
		}
	}

	//................................................................................................................		
	function autoComplete() 
	{
		Configure::write('debug',0);
        $this->layout = 'ajax';
        $id_cliente= $this->data[$this->TcContrato]['mg_cliente_id'];
        $clientes = $this->MgCliente->find('all', 
        								    array('conditions'=>array('MgCliente.id LIKE'=>$this->params['url']['q'].'%'),
 			    								  'fields'=>array('MgCliente.id', 'MgCliente.primer_nombre','MgCliente.segundo_nombre','MgCliente.primer_apellido','MgCliente.segundo_apellido'),
 			    								  'recursive'=>'-1'));
		$this->set('clientes', $clientes);
	}

	//................................................................................................................		
	function autoCompleteColonia() {
    	Configure::write('debug',0);
        $this->layout = 'ajax';
        $id_colonia= $this->data[$this->TcContrato]['mg_colonia_id'];
        $colonias = $this->MgColonia->find('all', 
        									array('conditions'=>array('MgColonia.descripcion LIKE'=>$this->params['url']['q'].'%'),
   												  'fields'=>array('id', 'descripcion')));
		$this->set('colonias', $colonias);
	}

	//................................................................................................................		

	function autoCompleteSearchId()
	{
    	Configure::write('debug',0);
        $this->layout = 'ajax';
        $contratos = $this->TcContrato->find('all',array(
        										'conditions'=>array('TcContrato.contrato LIKE'=> $this->params['url']['q'].'%',
        													 'TcContrato.tc_estado_contrato_id <>'=>3),
   												'fields'=>array('contrato','descripcion'),
        									  	'order'=> array('TcContrato.contrato ASC')));
		$this->set('contratos', $contratos);
	}

	//................................................................................................................		
		
	function autoCompleteSearchTelefono()
	{
    	Configure::write('debug',0);
        $this->layout = 'ajax';
        $contratos = $this->TcContrato->find('all',
        									  array('conditions'=>array('TcContrato.telefono LIKE'=>$this->params['url']['q'].'%',
        									  					'TcContrato.tc_estado_contrato_id <>'=>3),
  													'fields'=>array('telefono','descripcion')));
		$this->set('contratos', $contratos);
	}

	//................................................................................................................			
	function autoCompleteSearchDescripcion()
	{
    	Configure::write('debug',0);
    	$this->layout = 'ajax';
        $contratos = $this->TcContrato->find('all',
        									 array('conditions'=>array('TcContrato.descripcion LIKE'=>$this->params['url']['q'].'%','TcContrato.tc_estado_contrato_id <>'=>3),
   													'fields'=>array('descripcion','contrato')));
		$this->set('contratos', $contratos);
	}

	//................................................................................................................
				
	function search()
    {
    	if (!empty($this->data))
    	{
        	$busqid = $this->data['TcContrato']['busquedaid'];
            $busqtel = $this->data['TcContrato']['busquedatelefono'];
            $busqdescr = $this->data['TcContrato']['busquedadescripcion'];
            $conditions = array('fields'=>array('id'),
          		    			'conditions' => array('1' => '1'));
			if (!empty($busqid))
                $conditions =  array('TcContrato.contrato' => $busqid, 
                					 'TcContrato.tc_estado_contrato_id <>'=>3);
			if (!empty($busqtel))
				$conditions =array('TcContrato.telefono' => $busqtel,
                				   'TcContrato.tc_estado_contrato_id <>'=>3);
			if (!empty($busqdescr))
                $conditions = array('TcContrato.descripcion' => $busqdescr,
                					'TcContrato.tc_estado_contrato_id <>'=>3);
                $fields=array('id','contrato');
                $this->set('searchstring', $this->data['TcContrato']['busquedaid']);
				$count = $this->TcContrato->find('count',array('conditions'=>$conditions));
			if ($count>1){
                $prueba= $this->TcContrato->find('first', array('conditions'=>$conditions, 'fields'=>$fields));                
                $this->redirect(array('action'=>'mostrar',0,$prueba['TcContrato']['contrato']));
			}
			else{
				$prueba= $this->TcContrato->find('first', array('conditions'=>$conditions, 'fields'=>$fields));
                $this->redirect(array('action'=>'view',$prueba['TcContrato']['id']));
			}
		}
	}

	//................................................................................................................
	
	function buscacontrato()
	{		    			
    	Configure::write('debug', '0');  //set debug to 0 for this function because debugging info breaks the XMLHttpRequest    		
		$this->layout = "ajax"; //this tells the controller to use the Ajax layout instead of the default layout (since we're using ajax . . .)
		$fields_array = array();
		$campos = array();
    	$limit = 12;
		$page = 1;		
		if(!empty($_POST['limit']))
			$limit = $_POST['limit'];		 
		if(!empty($_POST['start']))
			$page = ($_POST['start']/$limit)+1;
		if(!empty($_POST['query']))
			$query = $_POST['query'];	
		if(!empty($_POST['fields']))
		{	$fields = $_POST['fields'];
		//--------Genera los campos que se utilizaran para el filtrado----------//	
			$fields=str_replace('[','',$fields);
			$fields=str_replace(']','',$fields);
			$fields=str_replace('"','',$fields);
			$fields=str_replace('\\','',$fields);				
			$fields=str_replace('-','.',$fields);
			//$query = '817';
			$campos=explode(',',$fields);						
			foreach ($campos as $campo)
			{
				 
				$conditions[$campo.' LIKE']= '%'.strtoupper($query).'%';				
			}	
			$conditions['TcContrato.contrato LIKE']= strtoupper($query).'%';
		}	
				
		$fields_array= array('TcContrato.id','TcContrato.contrato','TcContrato.mg_cliente_id',
							 'TcEstadoContrato.descripcion', 'TcContrato.tc_tipo_contrato_id', 'TcContrato.numero_contrato',
							 'TcContrato.descripcion', 'TcContrato.cantidad_televisores','TcContrato.comentario','TcContrato.mg_colonia_id',
							 'TcContrato.fecha_instalacion','TcContrato.created','TcContrato.tc_estado_contrato_id',
							 'TcContrato.fecha_ultimo_pago', 'TcContrato.telefono','TcContrato.modified',
							 'MgColonia.descripcion','TcContrato.casa', 'TcContrato.bloque','TcContrato.calle',
							 'TcContrato.descripcion_direccion','TcContrato.fecha_ultimo_pago_banco','TcContrato.fecha_reinstalacion',
							 'TcContrato.fecha_corte','TcContrato.adicionado_por','TcContrato.modificado_por','TcContrato.fecha_cancelacion');		
						        	
		if (!empty($query) && $query<>'')
		{        			
        	$count = $this->TcContrato->find('count',
        									 array('conditions'=>array('OR'=> $conditions,'TcContrato.tc_estado_contrato_id'=>array(1,2,3,4)))); 
        	$contratoA = $this->TcContrato->find('all', array('conditions'=>array('OR'=> $conditions,'TcContrato.tc_estado_contrato_id'=>array(1,2,3,4)),
        													  'fields'=>$fields_array,	
        													  'limit'=>$limit,
        													  'page'=>$page,
        													  'order'=>array('TcContrato.tc_estado_contrato_id ASC', 'TcContrato.contrato ASC','TcContrato.mg_colonia_id'))); 	
        }
        else
        {
			$count = $this->TcContrato->find('count',
											 array('conditions'=>array('TcContrato.tc_estado_contrato_id'=>array(1))));         			
			$contratoA = $this->TcContrato->find('all',
												 array('conditions'=>array('tc_estado_contrato_id'=>array(1)),
												'fields'=>$fields_array,
												'limit'=>$limit,
												'page'=>$page,
        										'order'=>array('TcContrato.tc_estado_contrato_id ASC', 'TcContrato.contrato ASC','TcContrato.mg_colonia_id')));		           		
       	}    
       	$Arrays1 = array();
		$Arrays = array();												 
		foreach ($contratoA as $k => $v)
		{					
			foreach ($v as $k1 => $v1)
			{						
				foreach ($v1 as $k2 => $v2)
				{											 																																				
					$Arrays1[$k1.'-'.$k2] = $v2;				
				}																
			}
		$Arrays1['meses_deuda'] = $this->Total->meses_mora($v['TcContrato']['fecha_corte'],$v['TcContrato']['fecha_reinstalacion'],$v['TcContrato']['fecha_cancelacion'],$v['TcContrato']['fecha_ultimo_pago']);
		if ($v['TcContrato']['tc_estado_contrato_id']== '3')
				{
					$Arrays1['action1']='';
					$Arrays1['qtip1']='';
					$Arrays1['action2']='';
					$Arrays1['qtip2']='';
					$Arrays1['action3']='';
					$Arrays1['qtip3']='';										
				}	
			else
			{
				$Arrays1['action1']='icon-edit-record';
				$Arrays1['qtip1']='Editar Contrato';
				$Arrays1['action2']='icon-actions';
				$Arrays1['qtip2']='Agregar Accion';
				$Arrays1['action3']='icon-error';
				$Arrays1['qtip3']='Agregar Descuento';				
			}		
		$Arrays[] = $Arrays1;    		    				
		}     		  
		$contratoArray = $Arrays;/*Set::extract($contratoA, '{n}.TcContrato');/*//* $contratoA*/;  
		$this->set('total', $count);  
		$this->set('contratos',$contratoArray);  
	}
	
	
	//................................................................................................................
	function combobox($tipo=null,$modelo=null, $condition=null)
	{
		Configure::write('debug', '0');    		
		$this->layout = "ajax";
		if(!empty($_POST['query']))
			$query = $_POST['query'];
		if ($tipo==1)
		{									
			if (!empty($query) && $query<>'')
			{
				$count = $this->$modelo->find('count',
											 array('conditions'=>array($modelo.'.descripcion LIKE'=>strtoupper($query).'%')));
				$datos = $this->$modelo->find('all', 
        										array('fields'=>array('id', 'descripcion'),
        										'conditions'=>array($modelo.'.descripcion LIKE'=>strtoupper($query).'%')));												 
			}
			else
			{
					$count = $this->$modelo->find('count');
					$datos = $this->$modelo->find('all', 
        										array('fields'=>array('id', 'descripcion')));											 
			}
		}
		else
		{
			if (!empty($query) && $query<>'')
			{
				$count = $this->$modelo->find('count',
											 array('conditions'=>array($modelo.'.id LIKE'=>strtoupper($query).'%')));
				$datos = $this->$modelo->find('all', 
        										array('fields'=>array('id', 'primer_nombre','segundo_nombre','primer_apellido','segundo_apellido'),
        											  'conditions'=>array($modelo.'.id LIKE'=>strtoupper($query).'%'),
        											  'limit'=>'10'));												 
			}
			else
			{
					$count = $this->$modelo->find('count');
					$datos = $this->$modelo->find('all', 
        										array('fields'=>array('id', 'primer_nombre','segundo_nombre','primer_apellido','segundo_apellido'),
        										'limit'=>'10'));											 
			}
		}    						
		$datosA = Set::extract($datos, '{n}.'.$modelo);        										  
		$this->set('total', $count);  
		$this->set('datos',$datosA);      										
	}	
	//................................................................................................................
	
	function accesoSupervisor()
	{
		Configure::write('debug', '0');    		
		$this->layout = "ajax";
		$response = array (		
				'success'=>true);
		$this->set('response',$response);
	}
	
}
?>